package com.ruoyi.order.pojo;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 【请填写功能名称】对象 order
 *
 * @author 1029432816@qq.com
 * @date 2020-02-25
 */
@ApiModel
@Data
public class OrderDTO {

    /**
     * 申请单位
     */
    @ApiModelProperty(name = "申请单位")
    private String applicationUnit;

    /**
     * 报检编号
     */
    @ApiModelProperty(name = "报检编号")
    private String inspectionNumber;

    /**
     * 统计类别
     */
    @ApiModelProperty(name = "统计类别")
    private Long statisticsCategory;

    /**
     * 处理地点
     */
    @ApiModelProperty(name = "处理地点")
    private String processSites;

    /**
     * 第一级数量, 单位是20`, 20`拼
     */
    @ApiModelProperty(name = "第一级数量, 单位是20`, 20`拼")
    private Long firstQuantity;

    /**
     * 第一级单位
     */
    @ApiModelProperty(name = "第一级单位")
    private Long firstUnit;

    /**
     * 第二级数量, 单位是40`, 40`拼
     */
    @ApiModelProperty(name = "第二级数量, 单位是40`, 40`拼")
    private Long secondQuantity;

    /**
     * 第二级单位
     */
    @ApiModelProperty(name = "第二级单位")
    private Long secondUnit;

    /**
     * 第三级数量, 单位是m³, ㎡, 台, 件, 辆, 吨
     */
    @ApiModelProperty(name = "第三级数量, 单位是m³, ㎡, 台, 件, 辆, 吨")
    private Long thirdQuantity;

    /**
     * 第三级单位
     */
    @ApiModelProperty(name = "第三级单位")
    private Long thirdUnit;

    /**
     * 处理范围
     */
    @ApiModelProperty(name = "处理范围")
    private String processRange;

    /**
     * 处理编号
     */
    @ApiModelProperty(name = "处理编号")
    private Long processNumber;

    /**
     * 处理对象标识
     */
    @ApiModelProperty(name = "处理对象标识")
    private String processObjectId;

    /**
     * 处理方式
     */
    @ApiModelProperty(name = "处理方式")
    private Long processMethod;

    @ApiModelProperty("当处理方式为其他时, 必填")
    private String processMethodRemark;

    /**
     * 浓度
     */
    @ApiModelProperty(name = "浓度")
    private Float concentration;

    /**
     * 用药总量, 单位是g
     */
    @ApiModelProperty(name = "用药总量, 单位是g")
    private Float totalMedication;

    /**
     * 处理时间, 单位是小时
     */
    @ApiModelProperty(name = "处理时间, 单位是小时")
    private Float processTime;

    /**
     * 温度, 单位是摄氏度
     */
    @ApiModelProperty(name = "温度, 单位是摄氏度")
    private Float temperature;

    /**
     * 湿度, 单位是1
     */
    @ApiModelProperty(name = "湿度, 单位是1")
    private Float humidity;

    /**
     * 风速, 单位是m/s
     */
    @ApiModelProperty(name = "风速, 单位是m/s")
    private Float windSpeed;

    /**
     * 施药开始时间, 精确到分
     */
    @ApiModelProperty(name = "施药开始时间, 精确到分")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applicationStartTime;

    /**
     * 施药结束时间
     */
    @ApiModelProperty(name = "施药结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applicationEndTime;

    /**
     * 散气开始时间, 精确到分
     */
    @ApiModelProperty(name = "散气开始时间, 精确到分")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date diffuseStartTime;

    /**
     * 散气结束时间
     */
    @ApiModelProperty(name = "散气结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date diffuseEndTime;

    /**
     * 现场负责人
     */
    @ApiModelProperty(name = "现场负责人")
    private String siteLeader;

    /**
     * 操作人员
     */
    @ApiModelProperty(name = "操作人员")
    private String operator;

    /**
     * 金额
     */
    @ApiModelProperty(name = "金额")
    private Float amount;

    /**
     * 面积
     */
    @ApiModelProperty(name = "面积")
    private Float area;

    /**
     * 体积
     */
    @ApiModelProperty(name = "体积")
    private Float volume;

    /**
     * 额外批次数量
     */
    @ApiModelProperty(name = "额外批次数量")
    private Long additionalBatcheNumber;

    @ApiModelProperty(name = "备注")
    private String remark;

    @ApiModelProperty(name = "公司id")
    private Long companyId;

    @ApiModelProperty(name = "使用的药剂id")
    private Long medicineId;

    @ApiModelProperty(name = "处理对象, 给海关看的")
    private String processObject;

    @ApiModelProperty("创建人， 前端无须传")
    private String createBy;

    @ApiModelProperty(name = "浓度的单位")
    private String concentrationUnit;

    @ApiModelProperty(name = "用药总量的单位")
    private String totalMedicationUnit;

    @ApiModelProperty("只更新时使用")
    private Long id;

    @ApiModelProperty("更新人， 前端无须传")
    private String updateBy;

    @ApiModelProperty(name = "处理方案别名")
    private String processNumberAliases;


}
